package com.easonji.admin.manager;

import java.util.List;

/**
 * @ClassName: UserManager
 * @Description: 用户通用类接口
 * @Author: LiuJun
 * @date: 2018/07/23 18:03
 * @Version: 1.0
 * @Copyright: Copyright (c) 2018 - 2019
 */
public interface UserManager {

    /**
     * 根据用户账户获取用户ID
     * 
     * @param account
     *            用户账户
     * @return 用户ID
     */
    Integer getUserIdByAccount(String account);

    /**
     * 根据用户ID获取用户名称
     * 
     * @param userId
     *            用户ID
     * @return 用户名称
     */
    String getUserNameById(Integer userId);

    /**
     * 根据用户ID获取用户账号
     * 
     * @param userId
     *            用户ID
     * @return 用户账号
     */
    String getUserAccountById(Integer userId);

    /**
     * 通过用户ID获取部门ID
     * 
     * @param userId
     *            用户ID
     * @return 部门ID
     */
    Integer getUserDeptIdById(Integer userId);

    /**
     * 通过用户ID获取角色名称列表
     * 
     * @param userId
     *            用户ID
     * @return 角色名称列表
     */
    String getRoleNameByUserId(Integer userId);

    /**
     * 通过用户ID获取应用名称列表
     * 
     * @param userId
     *            用户ID
     * @return 应用名称
     */
    String getAppNameByUserId(Integer userId);

    /**
     * 通过用户ID获取角色ID列表
     * 
     * @param appId
     *            应用ID
     * @param userId
     *            用户ID
     * @return 角色ID列表
     */
    List<Integer> getRoleIdListByUserId(Integer userId);

    /**
     * 通过用户ID获取角色名称列表
     * 
     * @param appId
     *            应用ID
     * @param userId
     *            用户ID
     * @return 角色名称列表
     */
    List<String> getRoleNameListByUserId(Integer userId);
}
